/**
 * 技能描述模板配置
 * 为特定技能定义自定义描述模板
 */

import { dynamicSkillDescription, ISkillDescriptionTemplate } from './DynamicSkillDescription';

/**
 * 注册技能描述模板
 */
export function registerSkillDescriptionTemplates(): void {
    // 火焰强化技能模板
    const flameEnhancementTemplate: ISkillDescriptionTemplate = {
        baseTemplate: '对目标造成{effect}点魔法伤害',
        levelTemplate: '(等级{level})',
        permanentBoostTemplate: '，每次使用后攻击倍率永久提升{boostAmount}点',
        cooldownTemplate: '(冷却{cooldown}回合)'
    };
    
    dynamicSkillDescription.registerTemplate('FLAME_ENHANCEMENT', flameEnhancementTemplate);
    
    // 灵魂吸取技能模板
    const soulDrainTemplate: ISkillDescriptionTemplate = {
        baseTemplate: '对目标造成{effect}点物理伤害',
        levelTemplate: '(等级{level})',
        permanentBoostTemplate: '，每次使用后伤害永久提升{boostAmount}点',
        cooldownTemplate: '(冷却{cooldown}回合)'
    };
    
    dynamicSkillDescription.registerTemplate('SOUL_DRAIN', soulDrainTemplate);
    
    // 战斗本能技能模板
    const battleInstinctTemplate: ISkillDescriptionTemplate = {
        baseTemplate: '对目标造成{effect}点物理伤害',
        levelTemplate: '(等级{level})',
        permanentBoostTemplate: '，每次使用后冷却时间永久减少{boostAmount}回合',
        cooldownTemplate: '(冷却{cooldown}回合)'
    };
    
    dynamicSkillDescription.registerTemplate('BATTLE_INSTINCT', battleInstinctTemplate);
    
    // 普通攻击技能模板
    const normalAttackTemplate: ISkillDescriptionTemplate = {
        baseTemplate: '对目标造成{effect}点{damageType}伤害',
        levelTemplate: '(等级{level})',
        cooldownTemplate: '(冷却{cooldown}回合)'
    };
    
    dynamicSkillDescription.registerTemplate('A000', normalAttackTemplate);
    
    console.log('✅ 技能描述模板注册完成');
}

/**
 * 获取技能描述模板示例
 */
export function getSkillDescriptionTemplateExamples(): Record<string, ISkillDescriptionTemplate> {
    return {
        // 主动攻击技能模板
        activeAttack: {
            baseTemplate: '对目标造成{effect}点{damageType}伤害',
            levelTemplate: '(等级{level})',
            permanentBoostTemplate: '，每次使用后{boostType}永久提升{boostAmount}点',
            cooldownTemplate: '(冷却{cooldown}回合)'
        },
        
        // 治疗技能模板
        healing: {
            baseTemplate: '恢复目标{effect}点生命值',
            levelTemplate: '(等级{level})',
            permanentBoostTemplate: '，每次使用后治疗量永久提升{boostAmount}点',
            cooldownTemplate: '(冷却{cooldown}回合)'
        },
        
        // 被动技能模板
        passive: {
            baseTemplate: '被动效果：{effect}',
            levelTemplate: '(等级{level})',
            permanentBoostTemplate: '，每次触发后{boostType}永久提升{boostAmount}点'
        },
        
        // 光环技能模板
        aura: {
            baseTemplate: '光环效果：{effect}',
            levelTemplate: '(等级{level})',
            permanentBoostTemplate: '，每次使用后{boostType}永久提升{boostAmount}点'
        }
    };
}

/**
 * 可用的变量说明
 */
export const AVAILABLE_VARIABLES = {
    '{effect}': '技能效果数值（会根据等级和永久提升计算）',
    '{damageType}': '伤害类型（物理/魔法/真实）',
    '{level}': '技能等级',
    '{cooldown}': '冷却时间',
    '{boostType}': '永久提升类型',
    '{boostAmount}': '永久提升数值'
}; 